#This function is cleans the file name before printing
def clean_file_b4_used(filename):
#print (list(filename))
special_character = ['&','/','(',')','*','%','@','^','#','!','?'] # This is the list of special character that supposed not to be included in a file name
new_fname = ""
for i in list(filename):
if any(i in s for s in special_character):
a=0
else:
new_fname = new_fname + i
return new_fname
#This function is to get the list of all the class code in the dataframe
def get_class_code_list(dataset):
location_class_code_unique = dataset['location_class_code'].unique().tolist() # This get the list of unque class code or class id
return location_class_code_unique
def visualization(dataset, class_code_id,filepath):
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(111)
dataset["event_year"] = (dataset['event_year'].astype('str'))
#print (dataset.head(10))
df= (dataset.where(( dataset["location_class_code"] == int(class_code_id)))).copy()
location_class_description = df['location_class_description'].unique().tolist()
class_name = clean_file_b4_used((str(location_class_description[1])))
title = "Trend Analytics For " + class_name + "-"+str(class_code_id)
#print ("Unique Para Type",type(location_class_description), location_class_description, len(df.index), (location_class_code_unique))
plt.xlabel("Time")
plt.ylabel("Parameter Total Number")
#plt.legend(loc='best')
#ax.legend(loc='best')
#plt.gca().legend(loc='upper left')
ax.set_title(title)
plt.xticks(rotation=90)
df =df.dropna()
# red dashes, blue squares and green triangles
plt.plot(df["event_year"], df["n_people"], 'r', df["event_year"], df["n_encounters"], 'ms', df["event_year"], df["n_locations"], 'k^')
plt.show()
#for row in dataset.itertuples():
#print(df.head(10))
#print("Data Seize",df.shape)
fig = plt.figure(figsize=(10,5))
ax = fig.add_subplot(111)
plt.subplot(3, 1, 1)
plt.plot(df["event_year"], df["n_people"], 'r')
plt.title(title)
plt.ylabel('n_people')
#plt.xticks(rotation=90)
plt.subplot(3, 1, 2)
plt.plot(df["event_year"], df["n_encounters"], 'b-')
plt.xlabel('time (s)')
plt.ylabel('n_encounter')
#plt.xticks(rotation=90)
plt.subplot(3, 1, 3)
plt.plot(df["event_year"], df["n_locations"], 'k')
plt.xlabel('time (s)')
plt.ylabel('n_location')
plt.xticks(rotation=90)
plt.savefig(filepath+"/"+class_name)
plt.show()
#Function to display the images
def display(filepath,path):
print("*********************************************************************************")
data_classes = get_dataset(1,path) #classes
data_location= get_dataset(2,path) #location
data_map = get_dataset(3,path) #maping
#class_code = 66
#visualization(data_location,class_code)
print("********************************************************************************")
class_code_list = get_class_code_list(data_classes)
for i in class_code_list:
visualization(data_classes,i,filepath)